package org.nnxy.foodboot.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nnxy.foodboot.entity.Recipe;
import org.nnxy.foodboot.entity.UserViewHistory;

/**
 * 用户浏览历史服务接口
 */
public interface UserViewHistoryService extends IService<UserViewHistory> {
    
    /**
     * 记录用户浏览历史
     * @param userId 用户ID
     * @param recipeId 食谱ID
     * @param viewDuration 浏览时长(秒)
     * @return 是否成功
     */
    boolean recordViewHistory(Long userId, Long recipeId, Integer viewDuration);
    
    /**
     * 分页查询用户浏览历史
     * @param page 分页参数
     * @param userId 用户ID
     * @return 分页结果
     */
    IPage<Recipe> pageUserViewHistory(Page<Recipe> page, Long userId);
    
    /**
     * 获取用户最近的浏览历史
     * @param userId 用户ID
     * @param recipeId 食谱ID
     * @return 浏览历史
     */
    UserViewHistory getLatestViewHistory(Long userId, Long recipeId);
    
    /**
     * 清空用户浏览历史
     * @param userId 用户ID
     * @return 是否成功
     */
    boolean clearUserViewHistory(Long userId);
} 